home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Madness 2 #12 / Multimedia Madness - Volume 2 - Issue 12 (SAMS Publishing) (November 25, 1992).iso / nemo / stringpp / str.his < prev    next >
Text File  |  1992-10-08  |  3KB  |  104 lines

  1.  
  2.                        String++ Revision History
  3.  
  4.                   Copyright (c)1992 by Carl Moreland
  5.                                 10/08/92
  6.  
  7. -----------------------------------------------------------------------
  8.  
  9. Version 2.10
  10.  
  11. - Derived class String from class string for those who prefer the capi-
  12.   talized spelling.
  13.  
  14. - Minor documentation changes
  15.  
  16. -----------------------------------------------------------------------
  17.  
  18. Version 2.01
  19.  
  20. - Minor bug fixes
  21.  
  22. -----------------------------------------------------------------------
  23.  
  24. Version 2.0
  25.  
  26. - Added iostream support.
  27.  
  28. - Enhanced [] operator can now assign individual characters.
  29.  
  30. - Comparison functions are now implemented as inline.
  31.  
  32. - New general functions:
  33.  
  34.   Insert()    inserts text in str
  35.   Delete()      deletes a substring of str
  36.   Copy()        copies str to a non-const char*
  37.   Trim()    trims leading or trailing multiple chars from str.
  38.   Value()       returns the numeric value (int or long) of str.
  39.  
  40. - Existing methods have been renamed to begin with an uppercase letter,
  41.   such as string::justify() -> string::Justify(). The older naming con-
  42.   ventions are still supported for backwards compatibility. Most member
  43.   methods now operate directly on the string itself instead of returning
  44.   a new string. For example, str1.Justify() will modify str1 instead of
  45.   creating a new string. C-style function names remain all lower-case
  46.   and return newly created strings, so str2 = justify(str1, LEFT, 80)
  47.   will not modify str1.
  48.  
  49. - AWK functions are also implemented as member methods that directly
  50.   modify the string object. These versions begin with an uppercase.
  51.  
  52. - Constructors and = operators added for int & long data types. New
  53.   function Value() returns the numeric value of a string.
  54.  
  55. - The () operator continues to return a const char* to the string
  56.   object's data, but the ptr() method now returns a non-const char*.
  57.   Therefore, if you need to pass a string's contents to a C-style func-
  58.   tion that wants a non-const char*, use ptr():
  59.  
  60.   Old way:
  61.  
  62.         strupr((char *)s1());    // strupr() wants to modify s1 directly
  63.                                 //   so s1 must be cast as non-const
  64.   New way:
  65.  
  66.       strupr(s1.ptr());       // s1.ptr() is now non-const
  67.  
  68.   Returning a non-const char* completely strips the inherent protection
  69.   that the string class offers and can be very dangerous. Use this with
  70.   caution.
  71.  
  72. -----------------------------------------------------------------------
  73.  
  74. Version 1.1
  75.  
  76. - Bug fixes, mostly memory leaks.
  77.  
  78. - Rewrote several functions for improved efficiency.
  79.  
  80. - Improved demo program.
  81.  
  82. - gsub() is generalized with the inclusion of a num parameter.
  83.  
  84. - New justify() function.
  85.  
  86. - New operators * and *=.
  87.  
  88. -----------------------------------------------------------------------
  89.  
  90. Version 1.0
  91.  
  92. - Initial release.
  93.  
  94. -----------------------------------------------------------------------
  95.  
  96. Comments, suggestions, and bug reports are welcomed. Send them to me
  97. via Internet (carl.moreland@analog.com), CompuServe (72137,2657), or
  98. mail them to:
  99.  
  100.         Carl Moreland
  101.         4314 Filmore Rd
  102.         Greensboro, NC 27409
  103.  
  104.